package com.plian.system.entity.yth.stafffiles;


import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import com.plian.system.entity.yth.YthBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDate;

/**
 * 人事——员工档案-员工任免职信息实体类
 *
 * @author zke
 * @since 2023-02-10
 */

@Data
@TableName("personnel_person_appo_removal")
@ApiModel(value = "PersonAppoRemoval对象", description = "人事——员工档案-员工任免职信息")
public class PersonAppoRemoval extends YthBaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 人员Id
     */
    @ApiModelProperty(value = "人员Id")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Long personId;
    /**
     * 任免类型
     */
    @ApiModelProperty(value = "任免类型")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Integer type;
    /**
     * 任职单位名称
     */
    @ApiModelProperty(value = "任职单位名称")
    private String companyName;
    /**
     * 拟任职务
     */
    @ApiModelProperty(value = "拟任职务")
    private String appointmentPostName;
    /**
     * 拟免职务
     */
    @ApiModelProperty(value = "拟免职务")
    private String removalPostName;
    /**
     * 任免理由
     */
    @ApiModelProperty(value = "任免理由")
    private String reason;
    /**
     * 任免来源
     */
    @ApiModelProperty(value = "任免来源")
    private String source;
    /**
     * 会议决定日期
     */
    @ApiModelProperty(value = "会议决定日期")
    private LocalDate decisionMeetDate;
    /**
     * 企业领导人类别
     */
    @ApiModelProperty(value = "企业领导人类别")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Integer leaderCategory;
}
